package cn.car.biz;

import cn.car.domains.vo.BasePage;
import cn.car.domains.vo.sysPermission.CreatePermissionReq;
import cn.car.domains.vo.sysPermission.PermissionListReq;
import cn.car.domains.vo.sysPermission.SysPermissionRes;
import cn.car.domains.vo.sysPermission.UpdatePermissionReq;

public interface SysPermissionBiz {
    /**
     * 创建权限
     */
    void createPermission(CreatePermissionReq permission);

    /**
     * 根据ID获取权限信息
     */
    SysPermissionRes getPermissionById(Long id);

    /**
     * 根据权限名获取权限信息
     */
    SysPermissionRes getPermissionByCode(String permissionCode);

    /**
     * 更新权限信息
     * @param permission 权限实体
     */
    void updatePermission(UpdatePermissionReq permission);

    /**
     * 删除权限
     * @param id 权限ID
     */
    void deletePermission(Long id);

    /**
     * 分页查询权限信息
     */
    BasePage<SysPermissionRes> list(PermissionListReq query);
}

